package com.contacts;

import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;


public class DESUtil {
	private static byte[] iv = { 1, 2, 3, 4, 5, 6, 7, 8 };
	public static final String TAG = "DESUtil";

	public static String encryptDES(String encryptString, String encryptKey) {
		try {
			encryptKey = encryptKey.substring(0, 8);
			IvParameterSpec zeroIv = new IvParameterSpec(iv);
			SecretKeySpec key = new SecretKeySpec(encryptKey.getBytes(), "DES");
			Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
			cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv);
			byte[] encryptedData = cipher.doFinal(encryptString.getBytes());
			String str = Base64Util.encode(encryptedData);
			return str;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;

	}

	public static String decryptDES(String decryptString, String decryptKey) {
		try {
			if (decryptString == null) {
				return null;
			}
			decryptKey = decryptKey.substring(0, 8);
			byte[] byteMi = Base64Util.decode(decryptString);
			IvParameterSpec zeroIv = new IvParameterSpec(iv);
			SecretKeySpec key = new SecretKeySpec(decryptKey.getBytes(), "DES");
			Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
			cipher.init(Cipher.DECRYPT_MODE, key, zeroIv);
			byte decryptedData[] = cipher.doFinal(byteMi);
			return new String(decryptedData);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
}